//给定一个非负整数数组 A，返回一个数组，在该数组中， A 的所有偶数元素之后跟着所有奇数元素。 
//
// 你可以返回满足此条件的任何数组作为答案。 
//
// 
//
// 示例： 
//
// 输入：[3,1,2,4]
//输出：[2,4,3,1]
//输出 [4,2,3,1]，[2,4,1,3] 和 [4,2,1,3] 也会被接受。
// 
//
// 
//
// 提示： 
//
// 
// 1 <= A.length <= 5000 
// 0 <= A[i] <= 5000 
// 
// Related Topics 数组 双指针 排序 
// 👍 217 👎 0

  
package com.zwy.leetcode.editor.cn;
/**
 * @author zwy
 */
public class SortArrayByParity{
    public static void main(String[] args) {
        Solution solution = new SortArrayByParity().new Solution();
        int []nums={3,1,2,4};
        int[] ints = solution.sortArrayByParity(nums);
        for (int i:ints
             ) {
            System.out.println(i);
        }
    }

    /**
     * @author zwy
     */
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
        /**
         * 时间复杂度为 O(n)
         * @param nums
         * @return
         */
    public int[] sortArrayByParity(int[] nums) {
        int count=0;
        int temp=0;
        for (int i = 0; i < nums.length; i++) {
            if(nums[i]%2!=0){
                count++;
            }
            else {
                temp=nums[i];
                nums[i]=nums[i-count];
                nums[i-count]=temp;
            }
        }
        return nums;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}